package exercise;

import equation.Equation;
import java.util.ArrayList;

public class Exercise implements Container{

    // 迭代器模式，有如下优点
//    (1)访问一个聚合对象的内容而无需暴露它的内部表示
//    (2)为遍历不同的聚合结构提供一个统一的接口
    // 本程序中，使用此设计模式，在遍历exercise时无需关心其内部实现

    private ArrayList<Equation> data;

    public Exercise() {
        this.data = new ArrayList<>();
    }

    public ArrayList<Equation> getData() {
        return data;
    }

    public void setData(ArrayList<Equation> data) {
        this.data = data;
    }

    @Override
    public Iterator getIterator() {
        return new ExerciseIterator(this);
    }

    public void add(Equation equation) {
        this.data.add(equation);
    }
}
